package controller;

import java.awt.TextField;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import java.awt.event.TextEvent;
import java.awt.event.TextListener;
import java.text.DecimalFormat;

import model.Convertisseur;
import vue.InterfaceConvertisseur;

public class ConvertisseurController implements TextListener, ItemListener{
	
	InterfaceConvertisseur src;
	
	public ConvertisseurController(InterfaceConvertisseur src){
		this.src = src;
	}
	
	@Override
	public void textValueChanged(TextEvent e) {
		TextField t = (TextField)e.getSource();
		if(t.getText().isEmpty()){
			this.src.setValeurAConvertir("");
			this.src.setValeurConvertie("");
		}
		else{
			String monnaieAconvertir = this.src.getListeMonnaie1().getSelectedItem();
			String monnaieConvertie = this.src.getListeMonnaie2().getSelectedItem();
			double valeur = Double.parseDouble(t.getText());
			Convertisseur leConvertisseur = new Convertisseur();
			double valeurConvertie = leConvertisseur.convertir(valeur, monnaieAconvertir, monnaieConvertie);
			DecimalFormat df = new DecimalFormat();
			df.setMaximumFractionDigits(2);
			this.src.setValeurConvertie(String.valueOf(df.format(valeurConvertie)));
		}
	}

	@Override
	public void itemStateChanged(ItemEvent e) {
		if(!src.getValeurAconvertir().getText().isEmpty()){
			String monnaieAconvertir = this.src.getListeMonnaie1().getSelectedItem();
			String monnaieConvertie = this.src.getListeMonnaie2().getSelectedItem();
			double valeur = Double.parseDouble(src.getValeurAconvertir().getText());
			Convertisseur leConvertisseur = new Convertisseur();
			double valeurConvertie = leConvertisseur.convertir(valeur, monnaieAconvertir, monnaieConvertie);
			DecimalFormat df = new DecimalFormat();
			df.setMaximumFractionDigits(2);
			this.src.setValeurConvertie(String.valueOf(df.format(valeurConvertie)));
		}
	}

}
